aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/blog/[id=int]/+page.server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/blog/[id=int]/+page.server.ts')
-rw-r--r--src/routes/blog/[id=int]/+page.server.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/routes/blog/[id=int]/+page.server.ts b/src/routes/blog/[id=int]/+page.server.ts
new file mode 100644
index 0000000..e295257
--- /dev/null
+++ b/src/routes/blog/[id=int]/+page.server.ts
@@ -0,0 +1,12 @@
+import { parsePost } from '$/lib/blog/Post.svelte'
+import rawPosts from '../posts.js';
+
+const posts = Promise.all(Object.entries(rawPosts).map(async post => [post[0], parsePost(await post[1])] as const));
+const postMap = posts.then(posts => posts.map(post => [post[1].metadata.id.toString(), {
+ metadata: post[1].metadata,
+ filename: post[0],
+}])).then(v => new Map(v));
+
+export const load = async (req) => ({
+ post: (await postMap).get(req.params.id),
+});